Simulation-Based Performance Modeling of UML Software Architectures
نویسندگان
چکیده
Quantitative analysis of software systems is being recognized as an important issue in the software development process. Performance analysis can help to address quantitative system analysis from the early stages of the software development life cycle, e.g, to compare design alternatives or to identify system bottlenecks. Early identification of performance problems is desirable as the cost of design change increases with the later phases of the software development cycle. This thesis addresses the problem of performance analysis of software systems described at a high level of detail. We adopt a model-based approach: starting from a software model, we derive a performance model which is then evaluated. This kind of approach has the advantage of being applicable since the early software development phases; in contrast, a measurement-based approach consisting on identifying problems by direct measurements on a running system can not. We consider software descriptions as a set of annotated Unified Modeling Language (UML) diagrams. UML is a widely used notation for describing and specifying software artifacts, and recently it is being also considered for performance evaluation purposes. We define the performance model as a process-oriented simulation model. Simulation is a powerful modeling technique which can represent general and unconstrained system models, so that the software model can be more accurately represented. An algorithm for translating UML software specifications into simulation models is described. The proposed technique defines a set of annotation of UML specifications to add quantitative, performance-oriented informations. The profile is based on the UML profile for Schedulability, Performance and Time specification. The system is described in term of Use Case, Activity and Deployment diagrams. Use Case diagrams correspond to workloads applied to the system. Activity diagrams provide a high-level description of the computation steps performed by the system, and Deployment diagrams describe the physical resources on which the computations take place. A process-oriented simulation model can then be automatically derived from the annotated specification. Execution of the simulation program provides performance results that can be directly interpreted at the UML software specification level. The described algorithm has been implemented in a prototype tool called UML-Ψ (UML Performance SImulator), which is demonstrated on a case study to show the validity of the approach. The UML-Ψ tool is written in C++ and is based on a general-purpose process-oriented simulation library. It parses annotated UML models, automatically builds the corresponding simulation model and executes it. Performance results are inserted into the original UML model as tagged values, in order to give feedback to the user.
منابع مشابه
Simulation Modeling of UML Software Architectures
Quantitative analysis of software systems is being recognized as an important issue in the software development process. Performance analysis can help to address quantitative system analysis from the early stages of the software development life cycle, e.g., to compare design alternatives or to identify system bottlenecks. Modeling software systems by simulation allows the analyst to represent ...
متن کاملSimulation-Based Performance Evaluation of Software Architectures described in UML
Quantitative analysis of software systems is being recognized as an important part of the software development process. In particular, performance analysis can be particularly helpful in identifying possible bottlenecks during the early stages of the software development life cycle. Early identification of problems is particularly desirable as the costs of changing the design are much higher th...
متن کاملUML-Ψ: the UML Performance SImulator
In this paper we describe UML-Ψ, a software performance evaluation tool based on process-oriented simulation. The tool can be used to evaluate performances of software systems which are described at a high level of abstraction. This allows the software modeler to estimate the system performances before actually building it, at the design phase. We consider software specifications as Unified Mod...
متن کاملUML Notation Extensions for Product Line Architectures Modeling
The purpose of this paper is to define the extensions of the UML standard specification for the explicit representation of variations and their locations in software product line architectures based on a design method already established. The method will benefit a more familiar and widely used notation, facilitating a broader understanding of the architecture and enabling more extensive tool su...
متن کاملTowards a Software Architecture Specification Language based on UML and OCL
The development of a system’s software architecture is a very complex and important issue. Existing description and modeling techniques do not fit the requirements of architecture centric system development. In this paper we are proposing the basic concepts and notions of software architectures. Furthermore, we provide a proposal for a new description and modeling technique for software archite...
متن کاملذخیره در منابع من
با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید
عنوان ژورنال:
دوره شماره
صفحات -
تاریخ انتشار 2004